# app/urls.py
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from . import views

# 创建路由器
router = DefaultRouter()

# 注册视图集
router.register(r'tasks', views.ScheduledTaskViewSet, basename='scheduledtask')
router.register(r'logs', views.TaskExecutionLogViewSet, basename='taskexecutionlog')
router.register(r'async-tasks', views.AsyncTaskViewSet, basename='asynctask')
router.register(r'scheduler', views.SchedulerViewSet, basename='scheduler')

# URL 配置
urlpatterns = [
    # API 路由
    path('', include(router.urls)),
    
    # 额外的 API 端点可以在这里添加
]

# 为了方便查看所有的 API 端点，这里列出主要的 URL 路径：
"""
主要 API 端点:

调度任务管理:
- GET    /api/tasks/                    - 获取任务列表
- POST   /api/tasks/                    - 创建新任务
- GET    /api/tasks/{id}/               - 获取特定任务详情
- PUT    /api/tasks/{id}/               - 更新任务
- PATCH  /api/tasks/{id}/               - 部分更新任务
- DELETE /api/tasks/{id}/               - 删除任务
- POST   /api/tasks/{id}/control/       - 任务控制（暂停/恢复/立即运行）
- GET    /api/tasks/{id}/logs/          - 获取任务执行日志
- GET    /api/tasks/{id}/metrics/       - 获取任务统计信息

执行日志:
- GET    /api/logs/                     - 获取执行日志列表
- GET    /api/logs/{id}/                - 获取特定日志详情

异步任务:
- POST   /api/async-tasks/submit/       - 提交异步任务
- GET    /api/async-tasks/{id}/status/  - 获取异步任务状态
- GET    /api/async-tasks/list_all/     - 获取所有异步任务状态

调度器管理:
- GET    /api/scheduler/status/         - 获取调度器状态
- GET    /api/scheduler/jobs/           - 获取调度器中的所有任务
- POST   /api/scheduler/start/          - 启动调度器
- POST   /api/scheduler/stop/           - 停止调度器

查询参数示例:
- /api/tasks/?is_active=true&trigger_type=interval&search=test
- /api/logs/?status=completed&task_id=1
"""